package com.ocean.loader;

import com.ocean.constants.ApplicationConstants;
import com.ocean.items.mob.*;
import com.ocean.items.seed.RoastMelonSeed;
import com.ocean.items.seed.RoastPumpkinSeed;
import com.ocean.items.seed.RoastWheatSeed;
import com.ocean.items.tool.Knife;
import com.ocean.items.tool.PaperCup;
import com.ocean.items.vegetables.*;
import net.minecraft.item.Item;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;

/**
 * 物品加载
 *
 * @author zhang
 * @since 2021/11/3
 */
public class ItemLoader {

    public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, ApplicationConstants.MOD_ID);

    /**
     * 仙人掌肉
     */
    public static final RegistryObject<Item> CACTUS_MEAT = ITEMS.register("cactus_meat", CactusMeat::new);

    /**
     * 烤甘蔗
     */
    public static final RegistryObject<Item> ROAST_REEDS = ITEMS.register("roast_reeds", RoastReeds::new);

    /**
     * 烤皮革
     */
    public static final RegistryObject<Item> BURNT_LEATHER = ITEMS.register("burnt_leather", BurntLeather::new);

    /**
     * 烤仙人掌肉
     */
    public static final RegistryObject<Item> COOKED_CACTUS = ITEMS.register("cooked_cactus", CookedCactus::new);

    /**
     * 煎蛋
     */
    public static final RegistryObject<Item> COOKED_EGG = ITEMS.register("cooked_egg", CookedEgg::new);

    /**
     * 棉花糖
     */
    public static final RegistryObject<Item> MARSHMALLOWS = ITEMS.register("marshmallows", Marshmallows::new);

    /**
     * 烤胡萝卜
     */
    public static final RegistryObject<Item> COOKED_CARROT = ITEMS.register("cooked_carrot", CookedCarrot::new);

    /**
     * 小刀
     */
    public static final RegistryObject<Item> KNIFE = ITEMS.register("knife", Knife::new);

    /**
     * 纸杯
     */
    public static final RegistryObject<Item> PAPER_CUP = ITEMS.register("paper_cup", PaperCup::new);

    /**
     * 奶酪
     */
    public static final RegistryObject<Item> CHEESE = ITEMS.register("cheese", Cheese::new);

    /**
     * 冰淇淋
     */
    public static final RegistryObject<Item> ICE_CREAM = ITEMS.register("ice_cream", IceCream::new);

    /**
     * 雪糕
     */
    public static final RegistryObject<Item> POPSICLE = ITEMS.register("popsicle", Popsicle::new);

    /**
     * 温牛奶
     */
    public static final RegistryObject<Item> HOT_MILK_BUCKET = ITEMS.register("hot_milk_bucket", HotMilkBucket::new);

    /**
     * 切片南瓜
     */
    public static final RegistryObject<Item> SECTION_PUMPKIN = ITEMS.register("section_pumpkin", SectionPumpkin::new);

    /**
     * 树叶 ->沙拉原料
     */
    public static final RegistryObject<Item> LEAVES = ITEMS.register("leaves", Leaves::new);

    /**
     * 青草沙拉
     */
    public static final RegistryObject<Item> GRASS_SALAD = ITEMS.register("grass_salad", GrassSalad::new);

    /**
     * 花蜜
     */
    public static final RegistryObject<Item> NECTAR = ITEMS.register("nectar", Nectar::new);

    /**
     * 巧克力
     */
    public static final RegistryObject<Item> CHOCOLATE = ITEMS.register("chocolate", Chocolate::new);

    /**
     * 树叶沙拉
     */
    public static final RegistryObject<Item> LEAVES_SALAD = ITEMS.register("leaves_salad", LeavesSalad::new);

    /**
     * 烤白蘑菇
     */
    public static final RegistryObject<Item> ROAST_BROWN_MUSHROOM = ITEMS.register("roast_brown_mushroom", RoastBrownMushroom::new);

    /**
     * 烤红蘑菇
     */
    public static final RegistryObject<Item> ROAST_RED_MUSHROOM = ITEMS.register("roast_red_mushroom", RoastRedMushroom::new);

    /**
     * 烤藤蔓
     */
    public static final RegistryObject<Item> ROAST_VINE = ITEMS.register("roast_vine", RoastVine::new);

    /**
     * 烤睡莲
     */
    public static final RegistryObject<Item> LILY_PAD = ITEMS.register("lily_pad", LilyPad::new);

    /**
     * 浸湿的腐肉
     */
    public static final RegistryObject<Item> SOAK_ROTTEN_FLESH = ITEMS.register("soak_rotten_flesh", SoakRottenFlesh::new);

    /**
     * 烤肉干
     */
    public static final RegistryObject<Item> ROAST_ROTTEN_FLESH = ITEMS.register("roast_rotten_flesh", RoastRottenFlesh::new);

    /**
     * 浸湿的蜘蛛眼
     */
    public static final RegistryObject<Item> SOAK_SPIDER_EYE = ITEMS.register("soak_spider_eye", SoakSpiderEye::new);

    /**
     * 烤蜘蛛眼
     */
    public static final RegistryObject<Item> ROAST_SPIDER_EYE = ITEMS.register("roast_spider_eye", RoastSpiderEye::new);

    /**
     * 浸湿的骨头
     */
    public static final RegistryObject<Item> SOAK_BONE = ITEMS.register("soak_bone", SoakBone::new);

    /**
     * 脆骨
     */
    public static final RegistryObject<Item> ROAST_BONE = ITEMS.register("roast_bone", RoastBone::new);

    /**
     * 浸湿的末影珍珠
     */
    public static final RegistryObject<Item> SOAK_ENDER_PEARL = ITEMS.register("soak_ender_pearl", SoakEnderPearl::new);

    /**
     * 烤末影珍珠
     */
    public static final RegistryObject<Item> ROAST_ENDER_PEARL = ITEMS.register("roast_ender_pearl", RoastEnderPearl::new);

    /**
     * 史莱姆软糖
     */
    public static final RegistryObject<Item> SLIME_FUDGE = ITEMS.register("slime_fudge", SlimeFudge::new);

    /**
     * 烤小麦种子
     */
    public static final RegistryObject<Item> ROAST_SEED = ITEMS.register("roast_wheat_seed", RoastWheatSeed::new);

    /**
     * 烤西瓜种子
     */
    public static final RegistryObject<Item> ROAST_MELON_SEED = ITEMS.register("roast_melon_seed", RoastMelonSeed::new);

    /**
     * 烤南瓜种子
     */
    public static final RegistryObject<Item> ROAST_PUMPKIN_SEED = ITEMS.register("roast_pumpkin_seed", RoastPumpkinSeed::new);

}
